//
// Created by bjliuyong on 2021/6/20.
//

#ifndef GC_MARK_COPY_H
#define GC_MARK_COPY_H

#include "interface/garbage_collect.h"
#include "../memory_chunk.h"

class MarkCopy : public GarbageCollect {
private:
    MemoryChunk *m_mem_chunk;
public:
    MarkCopy(MemoryChunk *memoryChunk);

    ~MarkCopy();

public:
    void run() override;

private:
    void mark();

    void memory_sweep();
};

#endif //GC_MARK_COPY_H
